This repository contains a safe proof-of-concept (PoC) for reproducing CVE-2023-44487 using Docker.
It was developed as my final project for the "Network Security" course.
⚠️ Disclaimer:
This repository is a course project intended for educational and research purposes only.
Do NOT use it to attack or exploit any systems without authorization.
CVE-2023-44487 is a vulnerability in HTTP/2 that allows a denial-of-service (DoS) via server resource consumption.
According to NVD:
"The HTTP/2 protocol allows a denial of service (server resource consumption) because request cancellation can reset many streams quickly, as exploited in the wild in August through October 2023."
This project demonstrates the vulnerability in a controlled Docker environment.
It uses two client containers to simulate the attack.
The goal is to:
- Reproduce the vulnerability
- Understand the root cause
You can reproduce the vulnerability by following these steps:
- Clone the repository
git clone https://github.com/Howard375/http2_rapid_reset.git
cd http2_rapid_reset
- Build and run the Docker environment
docker-compose up --build
After step 2:
-
A Nginx server (victim) and two client containers (attackers) will be created.
-
You can access the server at http://localhost:8080/index.html.
-
The two client containers will automatically run attack.py to launch a DoS attack against the Nginx server.
-
After a short time, the page may become unresponsive, demonstrating the vulnerability.
- Stop the environment
Since attack.py runs in an infinite loop, press Ctrl+C in the terminal where docker-compose up --build is running to stop the containers gracefully, then run:
docker-compose down
- The netshoot container will generate data in the data/ directory.
- Docker
- Docker Compose
- Internet connection to download base images